package mac5855.app.controllers;

import java.util.ArrayList;
import java.util.List;

import javax.faces.component.UIComponent;
import javax.faces.component.UIParameter;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;

import mac5855.app.dao.CategoriaDAO;
import mac5855.app.dao.DAOFactory;
import mac5855.app.dao.PerguntaDAO;
import mac5855.app.models.Categoria;
import mac5855.app.models.Pergunta;

public class CategoriaBean {
	
	private Categoria[] categorias;
	private PerguntaBean perguntaBean;
	
	public PerguntaBean getPerguntaBean() {
		return perguntaBean;
	}
	
	public void setPerguntaBean(PerguntaBean perguntaBean) {
		this.perguntaBean = perguntaBean;
	}
	
	public CategoriaBean() {
		CategoriaDAO dao = DAOFactory.getDAOFactory(DAOFactory.JDBC).getCategoriaDAO();
		categorias = dao.findAll();
	}
	
	public List<SelectItem> getSelectCategorias() {
		List<SelectItem> selectItems = new ArrayList<SelectItem>();
		for (Categoria categoria : categorias) {
			selectItems.add(new SelectItem(categoria.getId(), categoria.getNome()));
		}
		return selectItems;
	}
	
	public Categoria[] getCategorias() {
		return categorias;
	}
	
	public void escolheCategoria(ActionEvent event) {
		UIComponent component = event.getComponent();
		UIParameter param = (UIParameter) component.findComponent("categoriaID");
		Integer categoriaID = (Integer) param.getValue();
		
		
		PerguntaDAO perguntaDAO = DAOFactory.getDAOFactory(DAOFactory.JDBC).getPerguntaDAO();
		Pergunta[] perguntas = perguntaDAO.findByCategoriaId(categoriaID);
		
		perguntaBean.setPerguntas(perguntas);
	
		
	}

}
